home *** CD-ROM | disk | FTP | other *** search
/ Publication 8 / Publication_08_1996_High-Tech_de_Side_B.d64 / chess for two (.txt) < prev    next >
Commodore BASIC  |  2023-02-26  |  2KB  |  137 lines

  1. 10 rem chess board 1.5
  2. 20 gosub20000
  3. 30 print"[147][144]";:poke53280,1:poke53281,1
  4. 1000 gosub9000
  5. 1100 gosub8500
  6. 1200 gosub11000
  7. 1300 l$=left$(t$,2):gosub12000
  8. 1310 iff<>0then1400
  9. 1320 print:print"sorry, no piece there."
  10. 1330 fori=1to1000:next:goto1200
  11. 1400 d$(f)=right$(t$,2)
  12. 1405 fori=1to10
  13. 1410 f$=left$(t$,2):d=d(f)
  14. 1420 gosub8000
  15. 1430 f$=right$(t$,2):d=0
  16. 1440 gosub8000
  17. 1450 f$=left$(t$,2):d=0
  18. 1460 gosub8000
  19. 1470 f$=right$(t$,2):d=d(f)
  20. 1480 gosub8000
  21. 1490 next
  22. 1500 goto1200
  23. 7999 end
  24. 8000 rem setup a piece
  25. 8040 t=abs(d):ifd<0thent=t+9
  26. 8050 q$=p$(t)
  27. 8080 x=asc(f$)-64:y=val(right$(f$,1))
  28. 8100 g=x+y
  29. 8120 r$=""
  30. 8140 ifg/2<>int(g/2)thenr$=""
  31. 8160 printleft$(d$,4+2*(8-y));spc(4+(4*(x-1)));r$;q$;"[146]"
  32. 8200 return
  33. 8500 rem setup board
  34. 8520 fori=1to34
  35. 8540 ifd$(i)=""then8600
  36. 8550 f$=d$(i):d=d(i)
  37. 8570 gosub8000
  38. 8600 next
  39. 8650 return
  40. 9000 print"             chess for two"
  41. 9003 print"     a   b   c   d   e   f   g   h   "
  42. 9005 print"   [166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166]"
  43. 9010 fori=1to4
  44. 9020 forj=1to2
  45. 9025 a$=" "
  46. 9030 ifj=2thena$=chr$(58-2*i)
  47. 9040 print" "a$" [166]";
  48. 9050 fork=1to4:print"    [146]    ";:next
  49. 9060 print"[166] "a$
  50. 9070 next
  51. 9080 forj=1to2
  52. 9085 a$=" "
  53. 9090 ifj=2thena$=chr$(57-2*i)
  54. 9100 print" "a$" [166]";
  55. 9110 fork=1to4:print"        [146]";:next
  56. 9120 print"[166] "a$
  57. 9130 next
  58. 9140 next
  59. 9150 print"   [166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166]"
  60. 9155 print"     a   b   c   d   e   f   g   h   "
  61. 9160 return
  62. 10000 rem winking get
  63. 10010 print"[166][157]";
  64. 10020 fori=1to50
  65. 10030 gets$:ifs$<>""then10100
  66. 10040 next
  67. 10050 print" [157]";
  68. 10060 fori=1to50
  69. 10070 gets$:ifs$<>""then10100
  70. 10080 next
  71. 10090 goto10010
  72. 10100 print" [157]";
  73. 10140 return
  74. 11000 rem gets a move
  75. 11010 printd$;e$:printe$;d$"enter move? ";
  76. 11015 t$=""
  77. 11020 forj=1to4
  78. 11030 gosub10000
  79. 11040 s=asc(s$)
  80. 11050 if(j=1orj=3)and(s<65ors>72)then11200
  81. 11060 if(j=2orj=4)and(s<49ors>56)then11200
  82. 11080 prints$;:t$=t$+s$
  83. 11090 next
  84. 11100 print" ok, (hit return)"
  85. 11110 gosub10000
  86. 11120 ifs$<>chr$(13)then11010
  87. 11180 return
  88. 11200 print:print"bad entry, try again";
  89. 11210 fori=1to1000:next
  90. 11220 goto11010
  91. 12000 rem check piece
  92. 12010 f=0
  93. 12020 fori=1to34
  94. 12030 ifd$(i)=l$thenf=i
  95. 12040 next
  96. 12050 return
  97. 20000 dim p$(18),d(34),d$(34)
  98. 20010 fori=0to18:read p$(i):next
  99. 20020 fori=1to34:read d(i),d$(i):next
  100. 20030 d$="":fori=1to21:d$=d$+"":next
  101. 20040 fori=1to39:e$=e$+" ":next
  102. 20050 fori=1to39:e$=e$+"[157]":next
  103. 21000 return
  104. 30000 rem piece data
  105. 30005 data"    [157][157][157][157]    "
  106. 30010 data" [178][178] [157][157][157][157] [202][203] "
  107. 30020 data" [205][164][206][157][157][157][157][167][206]  "
  108. 30030 data"[167] [206][165][157][157][157][157][167][206][205][165]"
  109. 30040 data""
  110. 30050 data" [204][186] [157][157][157][157][167][176][174][165]"
  111. 30060 data""
  112. 30070 data""
  113. 30080 data" [204][186] [157][157][157][157][206][214][214][205]"
  114. 30090 data" [204][186] [157][157][157][157][167][219][219][165]"
  115. 30110 data" [213][201] [157][157][157][157] [177][177] "
  116. 30120 data"  [206][165][157][157][157][157][206][163][205] "
  117. 30130 data"[167][205][206][165][157][157][157][157][167][206] [165]"
  118. 30140 data""
  119. 30150 data"[167][173][189][165][157][157][157][157] [207][208] "
  120. 30160 data""
  121. 30170 data""
  122. 30180 data"[205][214][214][206][157][157][157][157] [207][208] "
  123. 30190 data"[167][219][219][165][157][157][157][157] [207][208] "
  124. 31000 rem board data
  125. 31010 data  1,a7, 1,b7, 1,c7, 1,d7, 1,e7, 1,f7, 1,g7, 1,h7
  126. 31020 data  2,b8, 2,g8
  127. 31030 data  3,c8, 3,f8
  128. 31050 data  5,a8, 5,h8
  129. 31080 data  8,d8, 8,""
  130. 31090 data  9,e8
  131. 31110 data -1,a2,-1,b2,-1,c2,-1,d2,-1,e2,-1,f2,-1,g2,-1,h2
  132. 31120 data -2,b1,-2,g1
  133. 31130 data -3,c1,-3,f1
  134. 31150 data -5,a1,-5,h1
  135. 31180 data -8,d1,-8,""
  136. 31190 data -9,e1
  137.